#ifndef PREFERENCES_DIALOG_H
#define PREFERENCES_DIALOG_H

namespace Gtk {
    class Window;
    class Button;
    class CheckButton;
    class SpinButton;
} /* Gtk forward declaration */

class configuration;

class preferences_dialog {
public:
    preferences_dialog (configuration&);

    void show ();

    void on_change_button_memory ();
    void on_change_button_cpu ();
    void on_change_button_io ();
    void on_change_check_notify ();
    void on_change_check_io ();
    void on_button_close ();
    void on_button_about ();
private:
    configuration &config_;

    /* GUI controls */
    Gtk::Window *window_;
    Gtk::Button *button_ok_;
    Gtk::Button *button_about_;
    Gtk::SpinButton *button_memory_;
    Gtk::SpinButton *button_cpu_;
    Gtk::SpinButton *button_io_;
    Gtk::CheckButton *check_notify_;
    Gtk::CheckButton *check_io_;
};

#endif /* end of PREFERENCES_DIALOG_H */
